﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	int i, j,n;
//	scanf("%d",&n);
//	for (i = 1; i <= n; i++)
//	{		
//		for (j = 1; j <= i; j++)
//		{
//			printf("%d*%d=%d  ", j, i, i * j);
//		}
//		printf("\n");
//	}
//	return 0;
//}
// 
// 
// 
//void change(int* x, int*  y)
//{
//	int tmp=0;
//	tmp = *y;
//	*y = *x;
//	*x = tmp;
//}
//int main()
//{
//	int m, n;
//	scanf("%d %d", &m, &n);
//	change(&m, &n);
//	printf("%d %d", m, n);
//	return 0;
//}
// 
// 
// 
//int main()
//{
//	int year;
//	scanf("%d", &year);
//	int flag(int x);
//	if (flag(year)) printf("是闰年");
//	else printf("不是闰年");
//	return 0;
//}
//int flag(int x)
//{
//	int f = 0;
//	if (x % 400 == 0 || x % 4 == 0 && x % 100 != 0) f = 1;
//	return f;
//}
// 
// 
//void flag(int x, int y)
//{
//	int i;
//	for (i = x; i <= y; i++)
//	{
//		if (f(i)) printf("%d ", i);
//	}
//}
//int main()
//{
//	int m,n;
//	int f(int x);
//	scanf("%d %d", &m, &n);
//	flag(m, n);
//	return 0;
//}
// 
// 
//int f(int x)
//{
//	int t = 1;
//	for (int i = 2; i <= x - 1; i++)
//	{
//		if (x % i == 0)
//		{
//			t = 0;
//			break;
//		}
//	}
//	return t;
//}
// 
// 
//int main()
//{
//	int n,x=1,y=1,z;
//	scanf("%d", &n);
//	while (n>2)
//	{
//		z = x;
//		x = y;
//		y = z + x;
//		n--;
//	}
//	printf("%d", y);
//	return 0;
//}
// 
// 
//int  fb(int n)
//{
//	if (n<=2) return 1;
//	else return fb(n - 1) + fb(n - 2);
//}
//int main()
//{
//	int n,ss;
//	scanf("%d", &n);
//	ss = fb(n);
//	printf("%d", ss);
//	return 0;
//}
// 
// 
//int cf(int x,int n)
//{
//	if (n <=0) return 1;
//	else return cf(x, n - 1)*x;
//}
//int main()
//{
//	int n,x,ss;
//	scanf("%d %d", &x,&n);
//	ss=cf(x, n);
//	printf("%d", ss);
//	return 0;
//}
// 
// 
//int DigitSum(int n)
//{
//	if (n <= 0) return 0;
//	else return DigitSum(n /10) + n % 10;
//}
//int main()
//{
//	int n,sum=0;
//	scanf("%d", &n);
//	sum = DigitSum(n);
//	printf("%d", sum);
//	return 0;
//}



//void reverse_string(char* string)
//{
//	if (*string != '\0')
//	{
//		reverse_string(string+1);
//	}
//	printf("%c", *string);
//}
//int main()
//{
//	char a[100];
//	gets(a);
//	reverse_string(a);
//	return 0;
//}



//int main()
//{
//	int n,i,sum=1;
//	scanf("%d", &n);
//	for (i = 1; i <= n; i++) 	sum *= i;
//	printf("%d", sum);
//	return 0;
//}



//int Fac(int n)
//{
//	if (n <= 1) return 1;
//	else return Fac(n - 1) * n;
//}
//int main()
//{
//	int n,sum=0;
//	scanf("%d", &n);
//	sum = Fac(n);
//	printf("%d", sum);
//	return 0;
//}


//void Dy(int n)
//{
//	if (n > 9)
//	{
//		Dy(n/10);
//	}
//	printf("%d ", n % 10);
//}
//
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	Dy(n);
//	return 0;
//}

//int len(char* arr)
//{
//	if (*arr != '\0')   return	len(arr + 1) + 1;
//	else return 0;
//}
//
//int main()
//{
//	char a[100],t;
//	gets(a);
//	t = len(a);
//	printf("%d", t);
//	return 0;
//}


int main()
{
	char a[100];
	int n = 0;
	gets(a);
	for (int i = 0;; i++)
	{
		if (a[i] == '\0') break;
		else n++;
	}
	printf("%d", n);
	return 0;
}
